1. Field of the Invention
The present invention relates generally to cryptographic systems and more particularly to a novel technique and apparatus for encrypting all forms of electronic communication without using a public key of any type.
2. Description of the Background Art
While the specter of "spies" eagerly trying to obtain the defense information of various countries is very much still present in the defense and intelligence community, an equally serious threat is now presented by technological or commercial "spies" who desire to obtain commercial and technical proprietary information from competing companies. These agents use sophisticated means similar to those used by the defense and intelligence community in order to obtain commercially valuable information that reveals the plans and commercial activities of competitors, allowing the aggressor company to obtain a competitive advantage in the marketplace. Theft of commercially valuable information is a very real and ever-present threat.
To combat this type of commercial spying, various complex systems have evolved to protect proprietary company information. These systems involve physical controls over personnel as well as over the data flowing in and out of a company. For example, most computer systems used within companies require a password to be entered before the system can be accessed. It is frequently the case that confidential or proprietary company information must be passed electronically from one location to another in order to convey that information within the company in a timely fashion. Such electronic communication is easily susceptible to interception if not protected in some form in addition to password protection.
Encryption of data is a critical requirement in denying access to confidential information from those who are not so authorized. Cryptographic systems have evolved to fill the needs of companies and individuals wanting to protect the proprietary commercial information of a company from competitors and from those who generally should not have that information. Cryptographic "keys" are an essential part of the information encryption process. The cryptographic key, or "key" for short, is a sequence of characters represented by bytes of information which is manipulated by a cryptographic algorithm to transform data from plain (readable) text to a series of unintelligible text or signals known as encrypted or cipher text. The key is then used by the receiver of the cipher text to decrypt the message back to plain text. However, for two people to communicate successfully using keys, each must use the same key or inverse keys to encrypt the message being sent and to decrypt that message when received, assuming that the same encryption/decryption algorithm is used on both ends of the communication.
Various methods have evolved to manage the distribution of keys, known as "key management". For two people to communicate securely using conventional cryptography, those two persons must not only possess compatible cryptographic equipment, they must also have identical keys. Further, those keys must be kept secret from anyone not in a position of confidence with the two communicators and must be changed periodically to guard against compromise. In addition to the protection of the keys themselves, selecting the proper key sequence and increasing the frequency with which the key sequence is changed can enhance the security of this type of protection. The function of key management is the process of generating, distributing, changing, replacing, storing, checking on, and destroying cryptographic keys. This is a critically important function.
Two major key management schemes have been developed over the years and are in use at the present time: classic pair-wise distribution and public key distribution. Both of these forms of key management have drawbacks. Distributing classic pair-wise key information is typically accomplished through the use of a courier service. The keys for a particular key time period, such as a day, an entire series of days, or any time period during which a particular key is valid, are delivered in printed, punch tape, electronic, or other form to a number of locations. Either a courier travels to all locations from a central key distribution site or couriers from the individual sites travel to a central location to pick up the keys. During any particular key time period, the same key is used by all cleared parties within the communications network, allowing messages to be encrypted and decrypted using that particular key. One drawback to the security of this type of distribution scheme is that it is based on trust. Any couriers used must be trusted, as they play an integral part of the authentication process. Also, to distribute keys effectively in a network requires that a matrix architecture be implemented to track user connectivity. The more subscribers to the network there are, the more complex the key matrix will be and the more difficult it is to maintain key management among changing users, since it is frequently the case that not everyone in a network will be using the same keys.
Sometimes more than one key is necessary in a classic key distribution scheme. In a single key system, anyone within a network who has the key is privy to any communication within the network. If one member of the network wants to transmit a communication to only one other particular member, the single key will afford him no protection from others in the network because everyone within the network shares the same key and can decrypt the message. Likewise, if someone wants to communicate a message to a subset of the network, that is, to a particular group within the network, the single key would provide her with no extra security. In these and other cases, multilevel key access, or multiple keys, would provide a solution, albeit one that is quite unwieldy, inflexible, and difficult to manage by a key administrator. The cost of maintaining this matrix of keys, using the courier service, and risking the possibility that the courier system may be compromised are major drawbacks that have led to the creation of a modified classic distribution scheme.
The modified classic distribution scheme also uses a courier for key distribution. However, the courier does not deliver the keys that are used to encrypt the files. Instead, the courier delivers a distribution key which is used to encrypt other keys that are in turn used to encrypt the files. In this way, the courier alone cannot compromise the network. This scheme offers the advantage of allowing the changing of the file key more frequently than in the classic scheme previously described. The disadvantage of the modified classic distribution scheme is that a compromise of the distribution key is far more serious than in the ordinary classic scheme since a compromise affects a collection of file keys and therefore a larger base of protected files.
A method that has evolved to overcome some of these problems involves a public key distribution scheme. Such a public key distribution scheme is disclosed in U.S. Pat. No. 4,218,582 to Hellman et al. A public key cryptographic system employs more than one key for encryption and decryption of messages or data. One of the keys is private and only held by two parties or a subgroup of parties within a network. The other key is public, that is, available to everyone within the network. All communications within the network are encrypted using the public key. In addition, the private key is used to further encrypt messages between two parties or within a subgroup of the network. Confidentiality of the message is preserved since no one without the private key can decipher the message. In public key cryptography, the public and private keys are generated by an algorithm based on a discrete exponential function, the arithmetic of which is computed in modulo P, where P is a very large prime number. The security of such a system rests on the fact that one key is privately held, and that it is computationally infeasible to determine the resulting discrete logarithmic function without knowledge of the private key. One drawback of the public key system is that the algorithm must be based on a very large prime number in order to ensure the integrity of the communication. Primitive elements of the algorithm must satisfy a particular relationship with the prime number. Such primitive elements are known to always exist, but limit and complicate the task of implementing the algorithm.
An alternative to the public key system is a private key system known as a symmetric key system which is a cryptographic system using the same key for both encryption and decryption. This key is transmitted from the sender to the receiver over a secure channel in parallel with the encrypted message. One particular symmetric key system is known as the data encryption standard or "DES" which is published by the National Institutes of Science and Technology. The DES was originally specified for the encryption of sensitive government information unrelated to national security. The DES uses a sixty-four byte key, fifty-six of which are independent bytes and eight bytes which may be used for parity checking. The DES was first publishing in January 1977 in FIPS-PUB-46 which is available from the National Technical Information Service.
U.S. Pat. No. 4,405,829 to Rivest et al. discloses an example of a product key system. A product key system is implemented using a succession of simple keys, each of which adds a small amount of encryption that does not provide sufficient practical security. The cumulative effect of the application of successive keys, however, provides adequate secure encryption for a transmitted message. Like the algorithm used in public systems, the key in the Rivest et al. system is based on an exponential function and prime number relationships. U.S. Pat. No. 4,424,414 to Hellman et al. also discloses a cryptographic system utilizing an exponential function.